import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
import statistics
from sklearn.preprocessing import MinMaxScaler

cancer = load_breast_cancer()
target_names = cancer.target_names
feature_names = cancer.feature_names

print(target_names)
print(feature_names)
print(cancer.target[15:40]) # we just print a subset of the whole target
#print (cancer.DESCR)
print(cancer.data.shape)

vertical_pos = range(len(feature_names))
featureAverage = []; featureVariation = []; 
scaler = MinMaxScaler()
scaler.fit(cancer.data)
cancer_scaled = scaler.transform(cancer.data)
for i in range(len(feature_names)):
    featureAverage.append(statistics.mean(cancer_scaled[:,i]))
    featureVariation.append(statistics.variance(cancer_scaled[:,i]))
    
fig, ax = plt.subplots(figsize=(9,9))
ax.barh(vertical_pos, featureAverage, xerr=featureVariation, color='orange', ecolor='green')
ax.set_yticks(vertical_pos)
ax.set_yticklabels(feature_names)
ax.set_xlabel('Normalized feature value')
ax.set_title('Cancer dataset')
plt.rcParams.update({'font.size':7});
ax.grid()
plt.show()
